package com.zz.array;

/**
 *
 * @author 张哲
 * @email a252013135@163.com
 * @date 2024/6/14 19:46
 */

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 待传输文件被切分成多个部分，按照原排列顺序，每部分文件编号
 * 均为一个 正整数（至少含有两个文件）。传输要求为：连续文件
 * 编号总和为接收方指定数字 target 的所有文件。请返回所有
 * 符合该要求的文件传输组合列表。
 *
 * 注意，返回时需遵循以下规则：
 * 每种组合按照文件编号 升序 排列；
 * 不同组合按照第一个文件编号 升序 排列。
 *
 * 示例 1：
 * 输入：target = 12
 * 输出：[[3, 4, 5]]
 * 解释：在上述示例中，存在一个连续正整数序列的和为 12，为 [3, 4, 5]。
 *
 * 示例 2：
 * 输入：target = 18
 * 输出：[[3,4,5,6],[5,6,7]]
 * 解释：在上述示例中，存在两个连续正整数序列的和分别为 18，分别为 [3, 4, 5, 6] 和 [5, 6, 7]。
 */
public class LCR180Solution {
    public int[][] fileCombination(int target) {
        //给个short类型的最大值（32767）应该够用
        int[][] files = new int[Short.MAX_VALUE][];
        //记录二维数组最终返回的长度
        int size = 0;
        int count = 0;
        for (int i = 0; i < target; i++) {
            List<Integer> list = new ArrayList<Integer>();
            //如果count的值超过了
            for (int j = 1; count < target; j++) {
                count += j;
                if(count > target){
                    break;
                }else{
                    list.add(j);
                }
            }
//            files[i] = list.t;
        }

        return null;
    }
}
